package singleton;

/**
 * 懒汉式 - 静态内部类实现（比较推荐的懒汉式实现方式）
 * 由于静态成员变量的赋值会放在静态代码块执行，而静态代码块会由JVM来保证线程安全问题，它里面的代码只会被执行一次
 */
public class Singleton5 {
    private Singleton5() {
        System.out.println("private Singleton5");
    }

    private static class Holder {
        static Singleton5 INSTANCE = new Singleton5();
    }

    public static Singleton5 getInstance() {
        return Holder.INSTANCE;
    }
}
